System - Dependence - Graph - Based Slicing of Programs

نویسندگان

  • Saurabh Sinha
  • Mary Jean Harrold
چکیده

Many algorithms for automating software engineering tasks require program slices. To be applicable to large software systems, these slices must be computed in-terprocedurally. Slicing techniques based on the system dependence graph (SDG) provide one approach for computing interprocedural slices, but these techniques are deened only for programs in which called procedures necessarily return to call sites. When applied to programs that contain arbitrary interprocedural control ow, existing SDG-based slicing techniques can compute incorrect slices; this limits their applicability. This paper presents an approach to constructing SDGs, and computing slices on SDGs, that accommodates programs with arbitrary interprocedural control ow. The main beneet of our approach is that it allows the use of the SDG-based slicing technique on a wide class of practical programs to which it did not previously apply.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Slicing Concurrent Java Programs

Although many slicing algorithms have been proposed for object-oriented programs, no slicing algorithm has been proposed which can be used to handle the problem of slicing concurrent Java programs correctly. In this paper, we propose a slicing algorithm for concurrent Java programs. To slice concurrent Java programs, we present a dependence-based representation called multithreaded dependence g...

متن کامل

An Approach to Slicing Widget-Based Event-Driven Programs and Its Implementation

In program slicing, widget-based event-driven programs are different from conventional programs because of their particular features of object construction infrastructure and event-driven mechanism and asynchronous access of global variables. Therefore conventional slicing techniques cannot be applied to widget-based event-driven programs. To solve this problem, this paper first introduces a se...

متن کامل

An Approach for Computing Dynamic Slice of Concurrent Aspect-Oriented Programs

We propose a dynamic slicing algorithm to compute the slice of concurrent aspect-oriented programs. We use a dependence based intermediate program representation called Concurrent Aspect-oriented System Dependence Graph (CASDG) to represent a concurrent aspect-oriented program. The CASDG of an aspect-oriented program consists of a system dependence graph (SDG) for the non-aspect code, a group o...

متن کامل

A Novel Approach for Computing Dynamic Slices of Aspect-Oriented Programs

We propose a dynamic slicing algorithm to compute the slices of aspect-oriented programs. We use a dependence based intermediate program representation called Aspect System Dependence Graph (AOSG) to represent aspect-oriented programs. Then, we propose the dynamic slicing algorithm for AOPs, which is an extended version of EMDS algorithm for object-oriented programs. Our algorithm is based on m...

متن کامل

Extending Program Slicing in Aspect-Oriented Programming with Inter-Type Declarations

Program slicing can be very useful for understanding and debugging aspect-oriented programs. Program slicing is a common technique, but it is not trivial to use in aspectoriented programming. Current implementations of slicing tools lack support for features of popular aspect-oriented languages. This paper proposes a detailed algorithm for the construction of an aspect-oriented system dependenc...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1998